
from flask import render_template, request, jsonify
import requests
from ..base import base

@base.route('/category_rpc/get_category_list', methods=['POST'])
def rpc_get_category_list():
    # 外部 API 的 URL
    url = "http://127.0.0.1:5000/search_category/get_category_statu_list"
    # 请求头，声明发送的数据类型为 JSON
    headers = {
        "Content-Type": "application/json"
    }
    try:
        # 发送 POST 请求
        response = requests.post(url, headers=headers)
        res_data = response.json()
        print('===', res_data)
        if res_data['code'] == 200:
            # 打印响应内容（假设返回的是 JSON 数据）
            print("请求成功！")
            return jsonify({'msg': '操作成功', 'code': 200, "data": res_data['data']})
        else:
            print(f"请求失败，状态码：{res_data['code']}")
            print("错误信息：", res_data['message'])
            return jsonify({'msg': '操作失败', 'code': 500, "data": res_data['data']})
    except requests.exceptions.RequestException as e:
        # 捕获 requests 库抛出的异常（如网络错误）
        print("请求发生错误：", e)
        return jsonify({'msg': '请求发生错误', 'code': 500, "data": str(e)})


@base.route('/category_rpc/change_category_statu', methods=['POST'])
def rpc_change_category_statu():
    # 外部 API 的 URL
    url = "http://127.0.0.1:5000/search_category/change_category_statu"
    # 请求头，声明发送的数据类型为 JSON
    headers = {
        "Content-Type": "application/json"
    }
    # 要发送的 JSON 数据
    data = {
        "category_statu": request.get_json().get('category_statu'),
        "category_name": request.get_json().get('category_name'),
    }
    try:
        # 发送 POST 请求
        response = requests.post(url, headers=headers, json=data)
        res_data = response.json()
        print('===', res_data)
        if res_data['code'] == 200:
            # 打印响应内容（假设返回的是 JSON 数据）
            print("请求成功！")
            print("响应数据：", res_data['code'])
            return jsonify({'msg': '操作成功', 'code': 200, "data": res_data['data']})
        else:
            print(f"请求失败，状态码：{res_data['code']}")
            print("错误信息：", res_data['message'])
            return jsonify({'msg': '操作失败', 'code': 500, "data": res_data['data']})
    except requests.exceptions.RequestException as e:
        # 捕获 requests 库抛出的异常（如网络错误）
        print("请求发生错误：", e)
        return jsonify({'msg': '请求发生错误', 'code': 500, "data": str(e)})
    
@base.route('/category_rpc/insert_category', methods=['POST'])
def rpc_insert_category():
    # 外部 API 的 URL
    url = "http://127.0.0.1:5000/search_category/insert_category"
    # 请求头，声明发送的数据类型为 JSON
    headers = {
        "Content-Type": "application/json"
    }
    # 要发送的 JSON 数据
    data = {
        "category_statu": request.get_json().get('category_statu'),
        "category_name": request.get_json().get('category_name'),
    }
    try:
        # 发送 POST 请求
        response = requests.post(url, headers=headers, json=data)
        res_data = response.json()
        print('===', res_data)
        if res_data['code'] == 200:
            # 打印响应内容（假设返回的是 JSON 数据）
            print("请求成功！")
            print("响应数据：", res_data['code'])
            return jsonify({'msg': '操作成功', 'code': 200, "data": res_data['data']})
        else:
            print(f"请求失败，状态码：{res_data['code']}")
            print("错误信息：", res_data['message'])
            return jsonify({'msg': '操作失败', 'code': 500, "data": res_data['data']})
    except requests.exceptions.RequestException as e:
        # 捕获 requests 库抛出的异常（如网络错误）
        print("请求发生错误：", e)
        return jsonify({'msg': '请求发生错误', 'code': 500, "data": str(e)})

@base.route('/category_rpc/update_category', methods=['POST'])
def rpc_update_category():
    # 外部 API 的 URL
    url = "http://127.0.0.1:5000/search_category/update_category"
    # 请求头，声明发送的数据类型为 JSON
    headers = {
        "Content-Type": "application/json"
    }
    # 要发送的 JSON 数据
    data = {
        "category_id": request.get_json().get('category_id'),
        "category_name": request.get_json().get('category_name'),
    }
    try:
        # 发送 POST 请求
        response = requests.post(url, headers=headers, json=data)
        res_data = response.json()
        print('===', res_data)
        if res_data['code'] == 200:
            # 打印响应内容（假设返回的是 JSON 数据）
            print("请求成功！")
            return jsonify({'msg': '操作成功', 'code': 200, "data": res_data['data']})
        else:
            print(f"请求失败，状态码：{res_data['code']}")
            print("错误信息：", res_data['message'])
            return jsonify({'msg': '操作失败', 'code': 500, "data": res_data['data']})
    except requests.exceptions.RequestException as e:
        # 捕获 requests 库抛出的异常（如网络错误）
        print("请求发生错误：", e)
        return jsonify({'msg': '请求发生错误', 'code': 500, "data": str(e)})